Package by default: Add in preview - #17841
Conversation
d24977d to
41931f4
Compare
41931f4 to
63b394e
Compare
96ad72e to
986e822
Compare
e389a8a to
a3cbb2d
Compare
a3cbb2d to
8e7f3b9
Compare
|
|
||
| // Do no fill in `authors` for non-packaged applications unless explicitly requested. | ||
| let author_from = author_from.unwrap_or_else(|| match self { | ||
| Self::ApplicationWithLibrary | Self::Library | Self::BareWithBuildBackend => { |
There was a problem hiding this comment.
Flagging: Should bare with a build backend populate authors?
77ed055 to
e44f8c1
Compare
e44f8c1 to
9ee4139
Compare
zsol
left a comment
There was a problem hiding this comment.
overall LGTM but there are a few things we should address in here
| ApplicationOld, | ||
| // TODO(konsti): Remove when stabilizing. | ||
| /// Initialize a Python library. | ||
| LibraryOld, |
There was a problem hiding this comment.
nit: don't use Old/New, they quickly become confusing :) I'd go with ApplicationWithPackageInitOff and LibraryWithPackageInitOff
There was a problem hiding this comment.
This should only be temporary, https://github.com/astral-sh/uv/pull/19197/changes removes the nomenclature entirely, the idea is more like <style>ToBeRemoved and <style>ToBecomeTheDefault
| // Do no fill in `authors` for non-packaged applications unless explicitly requested. | ||
| let author_from = author_from.unwrap_or_else(|| match self { | ||
| Self::ApplicationWithLibrary | Self::Library | Self::BareWithBuildSystem => { | ||
| AuthorFrom::default() | ||
| } | ||
| Self::Application | Self::Bare => AuthorFrom::None, | ||
| Self::ApplicationOld | Self::LibraryOld => unreachable!(), | ||
| }); |
There was a problem hiding this comment.
I realize this is what you highlight as a question in the PR summary, so let's discuss: What's the downside of filling this out by default?
There was a problem hiding this comment.
It's more metadata to maintain, especially since it's filled with whatever name and mail the person who did uv init had configured. We can't infer actual team information, and if it's not distributed as a package, there doesn't seem to much use in the package authors field. It's also taking a lesson from Cargo, which wanted to deprecate the authors field entirely but eventually settled on making it optional and not filling it by default: https://rust-lang.github.io/rfcs/3052-optional-authors-field.html. Python didn't make this same decision, but the considerations of the RFC apply to Python equally.
| let build_backend = build_backend.unwrap_or(ProjectBuildBackend::Uv); | ||
| pyproject.push('\n'); | ||
| pyproject.push_str(&pyproject_build_system(name, build_backend)); | ||
| pyproject_build_backend_prerequisites(name, path, build_backend)?; |
There was a problem hiding this comment.
we don't call this in BareWithBuildSystem, which will probably result in a broken configuration with e.g. maturin or scikit. Is that intentional? If so, maybe capture that somewhere?
Edit: I now realize this is another thing you call out, so my opinion is that we shouldn't generate broken configuration if we can help it
There was a problem hiding this comment.
Does this mean we should error for uv init --lib --bare or uv init --package --bare? (Given that we shouldn't ignore --lib/--package)
There was a problem hiding this comment.
Do you think it's possible to generate something that's not broken? If not, then erroring out would be fine
There was a problem hiding this comment.
There's two aspects here:
Stable already allows uv init --bare --package, which creates a [build-system] table without the associated files. Not supporting this anymore would be a regression.
It seems fine to not create a build system with --bare by default, as --bare doesn't create most things we usually create.
386eac8 to
b6c5328
Compare
57d3b49 to
f7dd196
Compare
f7dd196 to
39c1221
Compare
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [ghcr.io/astral-sh/uv](https://github.com/astral-sh/uv) | stage | patch | `0.11.20` → `0.11.21` | --- >⚠️ **Warning** > > Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/155) for more information. --- ### Release Notes <details> <summary>astral-sh/uv (ghcr.io/astral-sh/uv)</summary> ### [`v0.11.21`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#01121) [Compare Source](astral-sh/uv@0.11.20...0.11.21) Released on 2026-06-11. ##### Python - Add CPython 3.13.14 and 3.14.6 ([#​19787](astral-sh/uv#19787)) ##### Preview features - Add `environment.root` to `uv workspace metadata --sync` ([#​19760](astral-sh/uv#19760)) - Allow `uv upgrade` to update a single dependency constraint ([#​19738](astral-sh/uv#19738)) - Compute and pass `uv workspace metadata` payload in `ty check` ([#​19763](astral-sh/uv#19763)) - Make packaged applications the default for `uv init` ([#​17841](astral-sh/uv#17841)) ##### Performance - Add parallel discovery of Python versions for `uv python list` ([#​18684](astral-sh/uv#18684)) - Avoid normalizing source distribution names twice ([#​19784](astral-sh/uv#19784)) ##### Bug fixes - Improve cache robustness and pruning behavior - Allow CI cache pruning without an sdist bucket ([#​19802](astral-sh/uv#19802)) - Avoid overflow when reading malformed cache entries ([#​19799](astral-sh/uv#19799)) - Preserve cached Python downloads during cache pruning ([#​19795](astral-sh/uv#19795)) - Reject running inside the cache ([#​19659](astral-sh/uv#19659)) - Fix Python discovery and version request edge cases - Avoid panics for Unicode Python version requests ([#​19797](astral-sh/uv#19797)) - Fix handling of non-critical errors in `uv python list` with path requests ([#​19774](astral-sh/uv#19774)) - Fix stop-discovery-at regression ([#​19769](astral-sh/uv#19769)) - Harden parsing and validation for package metadata, requirements, markers, URLs, and conflict sets - Allow trailing commas in version specifiers ([#​19806](astral-sh/uv#19806)) - Avoid panics for invalid UTF-8 URL credentials ([#​19800](astral-sh/uv#19800)) - Avoid panics for malformed source distribution filenames ([#​19776](astral-sh/uv#19776)) - Avoid panics for trailing extra separators ([#​19779](astral-sh/uv#19779)) - Avoid stack overflow for recursive requirements path aliases ([#​19777](astral-sh/uv#19777)) - Ignore reversed string compatible-release markers ([#​19782](astral-sh/uv#19782)) - Reject duplicate entries in conflict sets ([#​19801](astral-sh/uv#19801)) - Reject malformed hash options in requirements files ([#​19783](astral-sh/uv#19783)) - Reject source distribution filenames without a separator ([#​19803](astral-sh/uv#19803)) - Use UTF-8 lengths for requirement errors ([#​19781](astral-sh/uv#19781)) - Use UTF-8 lengths for trailing marker errors ([#​19796](astral-sh/uv#19796)) - Use byte offsets when peeking over requirements ([#​19780](astral-sh/uv#19780)) - Validate GraalPy ABI suffixes ([#​19805](astral-sh/uv#19805)) - Improve wheel entry-point error handling and virtual environment activation quoting - Propagate errors when reading wheel entry points ([#​19794](astral-sh/uv#19794)) - Quote virtual environment activation paths with shell metacharacters ([#​19798](astral-sh/uv#19798)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIyMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: Renovate Bot <renovate@bhamm-lab.com> Reviewed-on: https://codeberg.org/blake-hamm/bhamm-lab/pulls/194
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [uv](https://github.com/astral-sh/uv) | patch | `0.11.19` → `0.11.21` | --- ### Release Notes <details> <summary>astral-sh/uv (uv)</summary> ### [`v0.11.21`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#01121) [Compare Source](astral-sh/uv@0.11.20...0.11.21) Released on 2026-06-11. ##### Python - Add CPython 3.13.14 and 3.14.6 ([#​19787](astral-sh/uv#19787)) ##### Preview features - Add `environment.root` to `uv workspace metadata --sync` ([#​19760](astral-sh/uv#19760)) - Allow `uv upgrade` to update a single dependency constraint ([#​19738](astral-sh/uv#19738)) - Compute and pass `uv workspace metadata` payload in `ty check` ([#​19763](astral-sh/uv#19763)) - Make packaged applications the default for `uv init` ([#​17841](astral-sh/uv#17841)) ##### Performance - Add parallel discovery of Python versions for `uv python list` ([#​18684](astral-sh/uv#18684)) - Avoid normalizing source distribution names twice ([#​19784](astral-sh/uv#19784)) ##### Bug fixes - Improve cache robustness and pruning behavior - Allow CI cache pruning without an sdist bucket ([#​19802](astral-sh/uv#19802)) - Avoid overflow when reading malformed cache entries ([#​19799](astral-sh/uv#19799)) - Preserve cached Python downloads during cache pruning ([#​19795](astral-sh/uv#19795)) - Reject running inside the cache ([#​19659](astral-sh/uv#19659)) - Fix Python discovery and version request edge cases - Avoid panics for Unicode Python version requests ([#​19797](astral-sh/uv#19797)) - Fix handling of non-critical errors in `uv python list` with path requests ([#​19774](astral-sh/uv#19774)) - Fix stop-discovery-at regression ([#​19769](astral-sh/uv#19769)) - Harden parsing and validation for package metadata, requirements, markers, URLs, and conflict sets - Allow trailing commas in version specifiers ([#​19806](astral-sh/uv#19806)) - Avoid panics for invalid UTF-8 URL credentials ([#​19800](astral-sh/uv#19800)) - Avoid panics for malformed source distribution filenames ([#​19776](astral-sh/uv#19776)) - Avoid panics for trailing extra separators ([#​19779](astral-sh/uv#19779)) - Avoid stack overflow for recursive requirements path aliases ([#​19777](astral-sh/uv#19777)) - Ignore reversed string compatible-release markers ([#​19782](astral-sh/uv#19782)) - Reject duplicate entries in conflict sets ([#​19801](astral-sh/uv#19801)) - Reject malformed hash options in requirements files ([#​19783](astral-sh/uv#19783)) - Reject source distribution filenames without a separator ([#​19803](astral-sh/uv#19803)) - Use UTF-8 lengths for requirement errors ([#​19781](astral-sh/uv#19781)) - Use UTF-8 lengths for trailing marker errors ([#​19796](astral-sh/uv#19796)) - Use byte offsets when peeking over requirements ([#​19780](astral-sh/uv#19780)) - Validate GraalPy ABI suffixes ([#​19805](astral-sh/uv#19805)) - Improve wheel entry-point error handling and virtual environment activation quoting - Propagate errors when reading wheel entry points ([#​19794](astral-sh/uv#19794)) - Quote virtual environment activation paths with shell metacharacters ([#​19798](astral-sh/uv#19798)) ### [`v0.11.20`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#01120) [Compare Source](astral-sh/uv@0.11.19...0.11.20) Released on 2026-06-10. ##### Enhancements - Add `--emit-index-url` and `--emit-find-links` to `uv export` ([#​18370](astral-sh/uv#18370)) - Add `--find-links` support for `uv pip list` ([#​16103](astral-sh/uv#16103)) - Group executable install errors during `uv python install` ([#​19691](astral-sh/uv#19691)) - Use ICF in macOS release builds to reduce binary sizes ([#​19615](astral-sh/uv#19615)) ##### Preview features - Add initial hidden `uv upgrade` command ([#​19678](astral-sh/uv#19678)) - Reject Git revisions in `uv upgrade` ([#​19742](astral-sh/uv#19742)) ##### Configuration - Recognize `UV_NO_INSTALL_PROJECT`, `UV_NO_INSTALL_WORKSPACE`, `UV_NO_INSTALL_LOCAL` ([#​19323](astral-sh/uv#19323)) ##### Performance - Speed up discovery of large workspaces ([#​18311](astral-sh/uv#18311)) ##### Bug fixes - Allow unknown preview flags with a warning again ([#​19669](astral-sh/uv#19669)) - Apply dependency exclusions to direct requirements ([#​19699](astral-sh/uv#19699)) - Avoid following external symlinks during cache clean ([#​19682](astral-sh/uv#19682)) - Avoid following symlinks during cache prune ([#​19543](astral-sh/uv#19543)) - Fix Git cache keys for worktrees and packed refs ([#​19706](astral-sh/uv#19706)) - Make resolver error handling iterative to avoid stack overflows ([#​19695](astral-sh/uv#19695)) - Pass `VIRTUAL_ENV` through `cygpath` inside `fish` on Windows ([#​19703](astral-sh/uv#19703)) - Rebuild explicit local directory tool installs ([#​19591](astral-sh/uv#19591)) - Validate egg top-level entries as identifiers ([#​19679](astral-sh/uv#19679)) ##### Documentation - Document `--find-links` caching behavior ([#​19585](astral-sh/uv#19585)) - Add a small section for malware checks ([#​19680](astral-sh/uv#19680)) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/London) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9naXRodWItcmVsZWFzZSIsInR5cGUvcGF0Y2giXX0=--> Reviewed-on: https://forgejo.hayden.moe/hayden/phoebe/pulls/92
Automated mise tool upgrades from local config. Updated tools: - `uv` Command: `mise upgrade --bump --local uv` <details> <summary>Version changelog (uv)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `uv` | `0.11.0` → `0.11.28` | `0.11.0` → `0.11.28` | </details> <details> <summary>Release notes (1 tools)</summary> <details> <summary>uv: `0.11.0` → `0.11.28` (astral-sh/uv)</summary> ### 0.11.19 ## Release Notes Released on 2026-06-03. ### Python - Add CPython 3.15.0b2 ([#19531](astral-sh/uv#19531)) ### Enhancements - Always compute SHA256 for remote distributions ([#19662](astral-sh/uv#19662)) - Add PyEmscripten platform (PEP 783) ([#19629](astral-sh/uv#19629)) - Add Pyodide 2025 target triple ([#19653](astral-sh/uv#19653)) ### Preview features - Make preview features for commands have names that aren't ambiguous with the command ([#19645](astral-sh/uv#19645)) - Respect `--isolated` in `uv check` ([#19666](astral-sh/uv#19666)) ### Bug fixes - Continue tool uninstall after dangling receipts ([#19623](astral-sh/uv#19623)) - Skip Unix-specific installation steps when cross-installing Windows Python distributions ([#19424](astral-sh/uv#19424)) ## Install uv 0.11.19 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.ps1 | iex" ``` ## Download uv 0.11.19 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarc… (truncated) ### 0.11.20 ## Release Notes Released on 2026-06-10. ### Enhancements - Add `--emit-index-url` and `--emit-find-links` to `uv export` ([#18370](astral-sh/uv#18370)) - Add `--find-links` support for `uv pip list` ([#16103](astral-sh/uv#16103)) - Group executable install errors during `uv python install` ([#19691](astral-sh/uv#19691)) - Use ICF in macOS release builds to reduce binary sizes ([#19615](astral-sh/uv#19615)) ### Preview features - Add initial hidden `uv upgrade` command ([#19678](astral-sh/uv#19678)) - Reject Git revisions in `uv upgrade` ([#19742](astral-sh/uv#19742)) ### Configuration - Recognize `UV_NO_INSTALL_PROJECT`, `UV_NO_INSTALL_WORKSPACE`, `UV_NO_INSTALL_LOCAL` ([#19323](astral-sh/uv#19323)) ### Performance - Speed up discovery of large workspaces ([#18311](astral-sh/uv#18311)) ### Bug fixes - Allow unknown preview flags with a warning again ([#19669](astral-sh/uv#19669)) - Apply dependency exclusions to direct requirements ([#19699](astral-sh/uv#19699)) - Avoid following external symlinks during cache clean ([#19682](astral-sh/uv#19682)) - Avoid following symlinks during cache prune ([#19543](astral-sh/uv#19543)) - Fix Git cache keys for worktrees and packed refs ([#19706](astral-sh/uv#19706)) - Make resolver error handling iterative to avoid stack overflows ([#19695](astral-sh/uv#19695)) - Pass `VIRTUAL_ENV` through `cygpath` inside `fish` on Windows ([#19703](astral-sh/uv#19703)) - Rebuild explicit local directory tool installs ([#19591](astral-sh/uv#19591)) - Validate egg top-level entries as identifiers ([#19679](https://github.com/astral-sh/uv/pull/19… (truncated) ### 0.11.21 ## Release Notes Released on 2026-06-11. ### Python - Add CPython 3.13.14 and 3.14.6 ([#19787](astral-sh/uv#19787)) ### Preview features - Add `environment.root` to `uv workspace metadata --sync` ([#19760](astral-sh/uv#19760)) - Allow `uv upgrade` to update a single dependency constraint ([#19738](astral-sh/uv#19738)) - Compute and pass `uv workspace metadata` payload in `ty check` ([#19763](astral-sh/uv#19763)) - Make packaged applications the default for `uv init` ([#17841](astral-sh/uv#17841)) ### Performance - Add parallel discovery of Python versions for `uv python list` ([#18684](astral-sh/uv#18684)) - Avoid normalizing source distribution names twice ([#19784](astral-sh/uv#19784)) ### Bug fixes - Improve cache robustness and pruning behavior - Allow CI cache pruning without an sdist bucket ([#19802](astral-sh/uv#19802)) - Avoid overflow when reading malformed cache entries ([#19799](astral-sh/uv#19799)) - Preserve cached Python downloads during cache pruning ([#19795](astral-sh/uv#19795)) - Reject running inside the cache ([#19659](astral-sh/uv#19659)) - Fix Python discovery and version request edge cases - Avoid panics for Unicode Python version requests ([#19797](astral-sh/uv#19797)) - Fix handling of non-critical errors in `uv python list` with path requests ([#19774](astral-sh/uv#19774)) - Fix stop-discovery-at regression ([#19769](astral-sh/uv#19769)) - Harden parsing and validation for package metadata, requirements, markers, URLs, and conflict sets - Allow trailing commas in version specifiers ([#19806](astral-sh/uv#19806)) - Avoid panics for invalid UTF-8 URL… (truncated) ### 0.11.22 ## Release Notes Released on 2026-06-18. ### Enhancements - Publish wheels before sdists in `uv publish` ([#19831](astral-sh/uv#19831)) - Add `TY` and `RUFF` env vars for providing paths for binaries used by `uv format` and `uv check` ([#19821](astral-sh/uv#19821)) ### Preview features - Allow configuring preview features in `uv.toml` and `pyproject.toml` ([#18437](astral-sh/uv#18437)) - Update the lockfile during `uv check --no-sync` ([#19909](astral-sh/uv#19909)) - Add `--script` to `uv check` and `uv metadata` ([#19860](astral-sh/uv#19860)) - Report workspace-exclusive dependency groups in `workspace metadata` ([#19862](astral-sh/uv#19862)) - Support SARIF as a `uv audit` output ([#19872](astral-sh/uv#19872)) ### Performance - Use a more deadlock-resistant concurrent hashmap in the resolver ([#19532](astral-sh/uv#19532)) ### Bug fixes - Update string marker ordering semantics to match [upstream clarified rules](pypa/packaging.python.org#1988) ([#19808](astral-sh/uv#19808)) - Reject extras that have the same normalized name ([#19871](astral-sh/uv#19871)) - Reject dependency group `include-group` entries that have additional fields ([#19866](astral-sh/uv#19866)) - Reject invalid UTF-8 URL credentials ([#19814](astral-sh/uv#19814)) - Validate that PEP 517 `backend-path`s exist when building sdists ([#19834](astral-sh/uv#19834)) - Validate that `pylock.toml` files do not have an unsupported a `lock-version` ([#19869](astral-sh/uv#19869)) - Validate that the environment satisfies the `packages.requires-python` of a `pylock.toml` ([#19868](astral-sh/uv#19868)) - Allow `u… (truncated) ### 0.11.23 ## Release Notes Released on 2026-06-19. ### Bug fixes - Revert "Fix transparent Python upgrades in project environments" to mitigate unintended breakage in `pre-commit-uv` ([#19925](astral-sh/uv#19925)) - Restore old behavior where workspace members "hidden" by an intermediate `pyproject.toml` would be treated as standalone projects ([#19926](astral-sh/uv#19926)) ## Install uv 0.11.23 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-installer.ps1 | iex" ``` ## Download uv 0.11.23 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-i686-pc-windows-msvc.zip.sha256) | | [uv-x86_64-pc-windows-msvc.zip](http… (truncated) ### 0.11.24 ## Release Notes Released on 2026-06-23. ### Python - Add CPython 3.15.0b3 ([#19964](astral-sh/uv#19964)) ### Preview features - Make project environments relocatable under preview ([#19965](astral-sh/uv#19965)) ### Performance - Use a compact index for lazy version maps ([#19959](astral-sh/uv#19959)) ### Bug fixes - Allow disabling `exclude-newer` ([#19934](astral-sh/uv#19934)) - Avoid archive id collisions ([#19949](astral-sh/uv#19949)) - Reapply "Fix transparent Python upgrades in project environments" ([#19928](astral-sh/uv#19928)) - Clean up partial tool entrypoint installs ([#19966](astral-sh/uv#19966)) - Fix relocatable `activate.fish` and broaden Fish version support ([#19856](astral-sh/uv#19856)) ## Install uv 0.11.24 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-installer.ps1 | iex" ``` ## Download uv 0.11.24 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.ast… (truncated) ### 0.11.25 ## Release Notes Released on 2026-06-26. ### Security This release updates our tar library, [astral-tokio-tar](https://github.com/astral-sh/tokio-tar), to v0.6.3, which includes over 20 changes that harden our tar handling against [parser differentials](https://www.brainonfire.net/blog/2022/04/11/what-is-parser-mismatch/). uv may reject source distributions with malformed or ambiguous content that were previously accepted. See the [upstream commits](astral-sh/tokio-tar@v0.6.2...v0.6.3) for a full list of changes. ### Enhancements - Add a full "lockfile" to tool receipts ([#18937](astral-sh/uv#18937)) - Allow scoped overrides to add dependencies ([#19974](astral-sh/uv#19974)) - Avoid writing redundant lockfile markers with `tool.uv.environments` ([#19933](astral-sh/uv#19933)) - Factor supported environments out of lockfile markers ([#19969](astral-sh/uv#19969)) - Recommend our own build backend in the build frontend ([#19994](astral-sh/uv#19994)) - Reject wheels with multiple .dist-info directories ([#19986](astral-sh/uv#19986)) - Simplify dependency markers under parent reachability ([#19971](astral-sh/uv#19971)) - Support scoped dependency exclusions ([#19977](astral-sh/uv#19977)) - Support scoped dependency overrides ([#19970](astral-sh/uv#19970)) - Explain why files are skipped in registry index parsing ([#19983](astral-sh/uv#19983)) ### Preview features - Add `uv workspace list --scripts` ([#20009](astral-sh/uv#20009)) - Support centralised environments in `uv venv` ([#19912](astral-sh/uv#19912)) - Use locked ty versions in `uv check` ([#19884](astral-sh/uv#19884)) - Add centralized storage of project environ… (truncated) ### 0.11.26 ## Release Notes Released on 2026-06-30. ### Performance - Adapt uv to IDs-only PubGrub dependencies ([#20048](astral-sh/uv#20048)) - Avoid allocations in `ForkMap::contains` ([#20023](astral-sh/uv#20023)) - Reuse resolver work across PubGrub iterations ([#20020](astral-sh/uv#20020)) - Speed up candidate selection for disjoint ranges ([#20026](astral-sh/uv#20026)) ### Bug fixes - Warn when the build cache is inside the source directory ([#20056](astral-sh/uv#20056)) ## Install uv 0.11.26 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-installer.ps1 | iex" ``` ## Download uv 0.11.26 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-i686-pc-window… (truncated) ### 0.11.27 ## Release Notes Released on 2026-07-06. ### Enhancements - Continue on ignored errors when fetching wheel metadata ([#12255](astral-sh/uv#12255)) - Use caching for `--python-downloads-json-url` ([#16749](astral-sh/uv#16749)) ### Preview features - Discover extensionless shebang scripts in `uv workspace list --scripts` ([#20099](astral-sh/uv#20099)) ### Performance - Avoid full site-packages scans for direct reinstalls ([#20119](astral-sh/uv#20119)) - Avoid redundant pyproject parsing ([#20076](astral-sh/uv#20076)) - Cache default dependency markers when reading locks ([#20125](astral-sh/uv#20125)) - Enable SIMD-accelerated TOML parsing ([#20079](astral-sh/uv#20079)) - Intern `requires-python` specifiers in Simple API parsing ([#20104](astral-sh/uv#20104)) - Read cache entries into exact-sized buffers ([#20120](astral-sh/uv#20120)) - Reduce VersionSpecifiers parsing allocations ([#20105](astral-sh/uv#20105)) - Reduce site-packages scan allocation overhead ([#20087](astral-sh/uv#20087)) - Reuse package names when parsing wheel filenames ([#20110](astral-sh/uv#20110)) - Sort Simple API files after grouping ([#20112](astral-sh/uv#20112)) ### Bug fixes - Always emit `packages` table for pylock.toml ([#20145](astral-sh/uv#20145)) - Avoid blank line for empty `uv pip tree` ([#20062](astral-sh/uv#20062)) - Encode hashes in file paths ([#19807](astral-sh/uv#19807)) - Error on a registry uv.lock package without a version instead of panicking ([#19855](astral-sh/uv#19855)) - Preserve conditional extra markers in exports ([#20148](https://github.com/astra… (truncated) ### 0.11.28 ## Release Notes Released on 2026-07-07. ### Security This release updates our ZIP library, [astral-async-zip](https://github.com/astral-sh/rs-async-zip), to v0.0.20, which includes 15 changes that harden our ZIP handling against [parser differentials](https://www.brainonfire.net/blog/2022/04/11/what-is-parser-mismatch/). uv may reject ZIP archives with malformed or ambiguous content that were previously accepted. See the [upstream commits](astral-sh/rs-async-zip@v0.0.18...v0.0.20) for a full list of changes. ### Python - Upgrade GraalPy to 25.1.3 ([#20069](astral-sh/uv#20069)) ### Enhancements - Improve trace logs for unexpected error chains ([#20220](astral-sh/uv#20220)) - Move lockfile update guidance to a hint ([#20219](astral-sh/uv#20219)) - Preserve indentation for multiline error causes ([#20156](astral-sh/uv#20156)) - Render user errors with their cause chains ([#20217](astral-sh/uv#20217)) - Route final command errors through the printer to respect `-q` and `-qq` ([#20163](astral-sh/uv#20163)) - Use standard rendering for `uv build` errors ([#20159](astral-sh/uv#20159)) - Use standard rendering for tool requirement errors ([#20160](astral-sh/uv#20160)) ### Performance - Only compile bytecode for installed distributions in `uv pip install` ([#19914](astral-sh/uv#19914)) - Avoid allocating URL-safe Git revisions ([#20194](astral-sh/uv#20194)) - Avoid allocating canonical Python request strings ([#20193](astral-sh/uv#20193)) - Avoid allocating custom Astral mirror URLs ([#20204](astral-sh/uv#20204)) - Avoid allocating expanded compatibility tags ([#20190](astral-sh/uv#20190)) - Avoid allocating shell stri… (truncated) _Omitted 18 older releases._ </details> </details> Modified files: - `.mise.toml`
Automated mise tool upgrades from local config. Updated tools: - `uv` Command: `mise upgrade --bump --local uv` <details> <summary>Version changelog (uv)</summary> | Tool | Requested | Installed | |------|-----------|-----------| | `uv` | `0.11.0` → `0.11.28` | `0.11.0` → `0.11.28` | </details> <details> <summary>Release notes (1 tools)</summary> <details> <summary>uv: `0.11.0` → `0.11.28` (astral-sh/uv)</summary> ### 0.11.19 ## Release Notes Released on 2026-06-03. ### Python - Add CPython 3.15.0b2 ([#19531](astral-sh/uv#19531)) ### Enhancements - Always compute SHA256 for remote distributions ([#19662](astral-sh/uv#19662)) - Add PyEmscripten platform (PEP 783) ([#19629](astral-sh/uv#19629)) - Add Pyodide 2025 target triple ([#19653](astral-sh/uv#19653)) ### Preview features - Make preview features for commands have names that aren't ambiguous with the command ([#19645](astral-sh/uv#19645)) - Respect `--isolated` in `uv check` ([#19666](astral-sh/uv#19666)) ### Bug fixes - Continue tool uninstall after dangling receipts ([#19623](astral-sh/uv#19623)) - Skip Unix-specific installation steps when cross-installing Windows Python distributions ([#19424](astral-sh/uv#19424)) ## Install uv 0.11.19 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-installer.ps1 | iex" ``` ## Download uv 0.11.19 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.19/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarc… (truncated) ### 0.11.20 ## Release Notes Released on 2026-06-10. ### Enhancements - Add `--emit-index-url` and `--emit-find-links` to `uv export` ([#18370](astral-sh/uv#18370)) - Add `--find-links` support for `uv pip list` ([#16103](astral-sh/uv#16103)) - Group executable install errors during `uv python install` ([#19691](astral-sh/uv#19691)) - Use ICF in macOS release builds to reduce binary sizes ([#19615](astral-sh/uv#19615)) ### Preview features - Add initial hidden `uv upgrade` command ([#19678](astral-sh/uv#19678)) - Reject Git revisions in `uv upgrade` ([#19742](astral-sh/uv#19742)) ### Configuration - Recognize `UV_NO_INSTALL_PROJECT`, `UV_NO_INSTALL_WORKSPACE`, `UV_NO_INSTALL_LOCAL` ([#19323](astral-sh/uv#19323)) ### Performance - Speed up discovery of large workspaces ([#18311](astral-sh/uv#18311)) ### Bug fixes - Allow unknown preview flags with a warning again ([#19669](astral-sh/uv#19669)) - Apply dependency exclusions to direct requirements ([#19699](astral-sh/uv#19699)) - Avoid following external symlinks during cache clean ([#19682](astral-sh/uv#19682)) - Avoid following symlinks during cache prune ([#19543](astral-sh/uv#19543)) - Fix Git cache keys for worktrees and packed refs ([#19706](astral-sh/uv#19706)) - Make resolver error handling iterative to avoid stack overflows ([#19695](astral-sh/uv#19695)) - Pass `VIRTUAL_ENV` through `cygpath` inside `fish` on Windows ([#19703](astral-sh/uv#19703)) - Rebuild explicit local directory tool installs ([#19591](astral-sh/uv#19591)) - Validate egg top-level entries as identifiers ([#19679](https://github.com/astral-sh/uv/pull/19… (truncated) ### 0.11.21 ## Release Notes Released on 2026-06-11. ### Python - Add CPython 3.13.14 and 3.14.6 ([#19787](astral-sh/uv#19787)) ### Preview features - Add `environment.root` to `uv workspace metadata --sync` ([#19760](astral-sh/uv#19760)) - Allow `uv upgrade` to update a single dependency constraint ([#19738](astral-sh/uv#19738)) - Compute and pass `uv workspace metadata` payload in `ty check` ([#19763](astral-sh/uv#19763)) - Make packaged applications the default for `uv init` ([#17841](astral-sh/uv#17841)) ### Performance - Add parallel discovery of Python versions for `uv python list` ([#18684](astral-sh/uv#18684)) - Avoid normalizing source distribution names twice ([#19784](astral-sh/uv#19784)) ### Bug fixes - Improve cache robustness and pruning behavior - Allow CI cache pruning without an sdist bucket ([#19802](astral-sh/uv#19802)) - Avoid overflow when reading malformed cache entries ([#19799](astral-sh/uv#19799)) - Preserve cached Python downloads during cache pruning ([#19795](astral-sh/uv#19795)) - Reject running inside the cache ([#19659](astral-sh/uv#19659)) - Fix Python discovery and version request edge cases - Avoid panics for Unicode Python version requests ([#19797](astral-sh/uv#19797)) - Fix handling of non-critical errors in `uv python list` with path requests ([#19774](astral-sh/uv#19774)) - Fix stop-discovery-at regression ([#19769](astral-sh/uv#19769)) - Harden parsing and validation for package metadata, requirements, markers, URLs, and conflict sets - Allow trailing commas in version specifiers ([#19806](astral-sh/uv#19806)) - Avoid panics for invalid UTF-8 URL… (truncated) ### 0.11.22 ## Release Notes Released on 2026-06-18. ### Enhancements - Publish wheels before sdists in `uv publish` ([#19831](astral-sh/uv#19831)) - Add `TY` and `RUFF` env vars for providing paths for binaries used by `uv format` and `uv check` ([#19821](astral-sh/uv#19821)) ### Preview features - Allow configuring preview features in `uv.toml` and `pyproject.toml` ([#18437](astral-sh/uv#18437)) - Update the lockfile during `uv check --no-sync` ([#19909](astral-sh/uv#19909)) - Add `--script` to `uv check` and `uv metadata` ([#19860](astral-sh/uv#19860)) - Report workspace-exclusive dependency groups in `workspace metadata` ([#19862](astral-sh/uv#19862)) - Support SARIF as a `uv audit` output ([#19872](astral-sh/uv#19872)) ### Performance - Use a more deadlock-resistant concurrent hashmap in the resolver ([#19532](astral-sh/uv#19532)) ### Bug fixes - Update string marker ordering semantics to match [upstream clarified rules](pypa/packaging.python.org#1988) ([#19808](astral-sh/uv#19808)) - Reject extras that have the same normalized name ([#19871](astral-sh/uv#19871)) - Reject dependency group `include-group` entries that have additional fields ([#19866](astral-sh/uv#19866)) - Reject invalid UTF-8 URL credentials ([#19814](astral-sh/uv#19814)) - Validate that PEP 517 `backend-path`s exist when building sdists ([#19834](astral-sh/uv#19834)) - Validate that `pylock.toml` files do not have an unsupported a `lock-version` ([#19869](astral-sh/uv#19869)) - Validate that the environment satisfies the `packages.requires-python` of a `pylock.toml` ([#19868](astral-sh/uv#19868)) - Allow `u… (truncated) ### 0.11.23 ## Release Notes Released on 2026-06-19. ### Bug fixes - Revert "Fix transparent Python upgrades in project environments" to mitigate unintended breakage in `pre-commit-uv` ([#19925](astral-sh/uv#19925)) - Restore old behavior where workspace members "hidden" by an intermediate `pyproject.toml` would be treated as standalone projects ([#19926](astral-sh/uv#19926)) ## Install uv 0.11.23 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-installer.ps1 | iex" ``` ## Download uv 0.11.23 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.23/uv-i686-pc-windows-msvc.zip.sha256) | | [uv-x86_64-pc-windows-msvc.zip](http… (truncated) ### 0.11.24 ## Release Notes Released on 2026-06-23. ### Python - Add CPython 3.15.0b3 ([#19964](astral-sh/uv#19964)) ### Preview features - Make project environments relocatable under preview ([#19965](astral-sh/uv#19965)) ### Performance - Use a compact index for lazy version maps ([#19959](astral-sh/uv#19959)) ### Bug fixes - Allow disabling `exclude-newer` ([#19934](astral-sh/uv#19934)) - Avoid archive id collisions ([#19949](astral-sh/uv#19949)) - Reapply "Fix transparent Python upgrades in project environments" ([#19928](astral-sh/uv#19928)) - Clean up partial tool entrypoint installs ([#19966](astral-sh/uv#19966)) - Fix relocatable `activate.fish` and broaden Fish version support ([#19856](astral-sh/uv#19856)) ## Install uv 0.11.24 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-installer.ps1 | iex" ``` ## Download uv 0.11.24 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.24/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.ast… (truncated) ### 0.11.25 ## Release Notes Released on 2026-06-26. ### Security This release updates our tar library, [astral-tokio-tar](https://github.com/astral-sh/tokio-tar), to v0.6.3, which includes over 20 changes that harden our tar handling against [parser differentials](https://www.brainonfire.net/blog/2022/04/11/what-is-parser-mismatch/). uv may reject source distributions with malformed or ambiguous content that were previously accepted. See the [upstream commits](astral-sh/tokio-tar@v0.6.2...v0.6.3) for a full list of changes. ### Enhancements - Add a full "lockfile" to tool receipts ([#18937](astral-sh/uv#18937)) - Allow scoped overrides to add dependencies ([#19974](astral-sh/uv#19974)) - Avoid writing redundant lockfile markers with `tool.uv.environments` ([#19933](astral-sh/uv#19933)) - Factor supported environments out of lockfile markers ([#19969](astral-sh/uv#19969)) - Recommend our own build backend in the build frontend ([#19994](astral-sh/uv#19994)) - Reject wheels with multiple .dist-info directories ([#19986](astral-sh/uv#19986)) - Simplify dependency markers under parent reachability ([#19971](astral-sh/uv#19971)) - Support scoped dependency exclusions ([#19977](astral-sh/uv#19977)) - Support scoped dependency overrides ([#19970](astral-sh/uv#19970)) - Explain why files are skipped in registry index parsing ([#19983](astral-sh/uv#19983)) ### Preview features - Add `uv workspace list --scripts` ([#20009](astral-sh/uv#20009)) - Support centralised environments in `uv venv` ([#19912](astral-sh/uv#19912)) - Use locked ty versions in `uv check` ([#19884](astral-sh/uv#19884)) - Add centralized storage of project environ… (truncated) ### 0.11.26 ## Release Notes Released on 2026-06-30. ### Performance - Adapt uv to IDs-only PubGrub dependencies ([#20048](astral-sh/uv#20048)) - Avoid allocations in `ForkMap::contains` ([#20023](astral-sh/uv#20023)) - Reuse resolver work across PubGrub iterations ([#20020](astral-sh/uv#20020)) - Speed up candidate selection for disjoint ranges ([#20026](astral-sh/uv#20026)) ### Bug fixes - Warn when the build cache is inside the source directory ([#20056](astral-sh/uv#20056)) ## Install uv 0.11.26 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-installer.ps1 | iex" ``` ## Download uv 0.11.26 | File | Platform | Checksum | |--------|----------|----------| | [uv-aarch64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-apple-darwin.tar.gz.sha256) | | [uv-x86_64-apple-darwin.tar.gz](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-x86_64-apple-darwin.tar.gz.sha256) | | [uv-aarch64-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-aarch64-pc-windows-msvc.zip.sha256) | | [uv-i686-pc-windows-msvc.zip](https://releases.astral.sh/github/uv/releases/download/0.11.26/uv-i686-pc-window… (truncated) ### 0.11.27 ## Release Notes Released on 2026-07-06. ### Enhancements - Continue on ignored errors when fetching wheel metadata ([#12255](astral-sh/uv#12255)) - Use caching for `--python-downloads-json-url` ([#16749](astral-sh/uv#16749)) ### Preview features - Discover extensionless shebang scripts in `uv workspace list --scripts` ([#20099](astral-sh/uv#20099)) ### Performance - Avoid full site-packages scans for direct reinstalls ([#20119](astral-sh/uv#20119)) - Avoid redundant pyproject parsing ([#20076](astral-sh/uv#20076)) - Cache default dependency markers when reading locks ([#20125](astral-sh/uv#20125)) - Enable SIMD-accelerated TOML parsing ([#20079](astral-sh/uv#20079)) - Intern `requires-python` specifiers in Simple API parsing ([#20104](astral-sh/uv#20104)) - Read cache entries into exact-sized buffers ([#20120](astral-sh/uv#20120)) - Reduce VersionSpecifiers parsing allocations ([#20105](astral-sh/uv#20105)) - Reduce site-packages scan allocation overhead ([#20087](astral-sh/uv#20087)) - Reuse package names when parsing wheel filenames ([#20110](astral-sh/uv#20110)) - Sort Simple API files after grouping ([#20112](astral-sh/uv#20112)) ### Bug fixes - Always emit `packages` table for pylock.toml ([#20145](astral-sh/uv#20145)) - Avoid blank line for empty `uv pip tree` ([#20062](astral-sh/uv#20062)) - Encode hashes in file paths ([#19807](astral-sh/uv#19807)) - Error on a registry uv.lock package without a version instead of panicking ([#19855](astral-sh/uv#19855)) - Preserve conditional extra markers in exports ([#20148](https://github.com/astra… (truncated) ### 0.11.28 ## Release Notes Released on 2026-07-07. ### Security This release updates our ZIP library, [astral-async-zip](https://github.com/astral-sh/rs-async-zip), to v0.0.20, which includes 15 changes that harden our ZIP handling against [parser differentials](https://www.brainonfire.net/blog/2022/04/11/what-is-parser-mismatch/). uv may reject ZIP archives with malformed or ambiguous content that were previously accepted. See the [upstream commits](astral-sh/rs-async-zip@v0.0.18...v0.0.20) for a full list of changes. ### Python - Upgrade GraalPy to 25.1.3 ([#20069](astral-sh/uv#20069)) ### Enhancements - Improve trace logs for unexpected error chains ([#20220](astral-sh/uv#20220)) - Move lockfile update guidance to a hint ([#20219](astral-sh/uv#20219)) - Preserve indentation for multiline error causes ([#20156](astral-sh/uv#20156)) - Render user errors with their cause chains ([#20217](astral-sh/uv#20217)) - Route final command errors through the printer to respect `-q` and `-qq` ([#20163](astral-sh/uv#20163)) - Use standard rendering for `uv build` errors ([#20159](astral-sh/uv#20159)) - Use standard rendering for tool requirement errors ([#20160](astral-sh/uv#20160)) ### Performance - Only compile bytecode for installed distributions in `uv pip install` ([#19914](astral-sh/uv#19914)) - Avoid allocating URL-safe Git revisions ([#20194](astral-sh/uv#20194)) - Avoid allocating canonical Python request strings ([#20193](astral-sh/uv#20193)) - Avoid allocating custom Astral mirror URLs ([#20204](astral-sh/uv#20204)) - Avoid allocating expanded compatibility tags ([#20190](astral-sh/uv#20190)) - Avoid allocating shell stri… (truncated) _Omitted 18 older releases._ </details> </details> Modified files: - `.mise.toml` Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Switch the (preview) default for
uv initto a src-package. The package by default has an entrypoint by the name of the package that can be run withuv init foo.There's effectively three layouts with this change:
main.pyapplication (pure app)These are selected from among the existing
--app/--liband--package/--no-packageflags, as to not cause too much churn.--build-backendstill implies--package, with--app --build-backenddoesn't change.--baredoesn't add a build system by default.Testing is a bit awkward, cause there's now all the stable tests and a separate test for the preview behavior, while we'll have to update the stable tests upon stabilization. You can see the effect of stabilization in #19197.
hello()--packagehello()--no-packagemain.pywithmain()--appmain.pywithmain()--app--packagehello()--app--no-packagemain.pywithmain()--libhello()--lib--packagehello()--lib--no-packageNavigation
There are three branches:
Package by default: Add in preview #17841
Package by default: Update documentation #19026
Package by default: Stabilize preview feature #19197
OpenDecided design questionsNo, the authors field isn't helpful here.
--barealso create a (by itself broken) build system by default, without setting--packageor--build-backend?No, we want something that works, and not creating a build backend is very bare. It's slightly inconsistent that effectively
--bareis no-package by default, but that's better than the alternatives and explainable as--barebeing no-most-things.